Hallo Thomas,
Für mich liest es sich sehr interessant, aber leider werde ich in den nächsten Monaten keine Zeit haben, mich an einem solchen Projekt zu beteiligen. Daher komme ich auch nur sporadisch dazu, die Foren zu lesen. Erhard hat mich auf diesen Post aufmerksam gemacht.
Hier kurz meine ersten Gedanken, vielleicht helfen sie euch:
Ich würde es andersherum machen. Anstatt einem NDOS die Möglichkeit zu geben auch auf D Devices (mit verschiedenen File Systemen) zuzugreifen, würde ich das N-Device lieber in beliebigen DOS-Arten und -Versionen nutzen können. Die meisten DOS Versionen erlauben mit beliebigen Devices zu arbeiten, solang der Device-Handler installiert ist, z.B. für das N-Device. Das Problem ist, dass der N-Handler im Moment von dem jeweiligen DOS nachgeladen werden muss und relative viel Hauptspeicher (low memory) braucht. Dies macht es für viele Fälle unpraktisch und wegen dem erhöhten MEMLO sind einige Anwendungen gar nicht möglich. Die schönste Lösung wäre meiner Meinung nach, wenn das FujiNet ein PBI Device wäre, denn dann könnte es einen N-Handler zu Verfügung stellen ohne Hauptspeicher zu verbrauchen, D-Devices könnten transparent eingebunden werden und man ist nicht auf die langsame SIO Geschwindigkeit eingeschränkt.
Wenn man trotzdem einen verschiebbaren SpartaDOS FS Treiber haben möchte, kann man BW-DOS nutzen. Es reicht aber nicht, sich XBW15CIO1/2.ICL anzusehen. Am besten schaut man sich XBW15CP.ASM an. Wenn man dies assembliert, bekommt man ein BW-DOS ohne interne Kommandos, das direkt nach $700 geladen wird (für das XBW15CP.DOS wird es dann nach $2200 verschoben und nach dem Start nach $700 kopiert, damit man es auch direkt von der Kommandozeile oder Cartridge starten kann). Es werden folgende Includes benutzt:
- XBWCOMTA.ICL - COMTAB Variablen (werden auch vom SpartaDOS FS benötigt, z.B. für Datum/Zeit)
XBWCP.ICL - Kommandozeileninterpreter
XBWCMDC.ICL - Hilfsfunktionen für den Kommandozeileninterpreter
XBWCIO1.ICL - CIO API Teil 1
XBWCIO2.ICL - CIO API Teil 2
XBWFMS.ICL - SpartaDOS FS
Für einen verschiebbaren SpartaDOS FS Handler werden alle Teile benötigt außer XBWCP.ICL und XBWCMDC.ICL. Diese Teile könnte man entfernen und nur den D-Handler in die HATAB registrieren. Den D-Handler dann verschiebbar zu machen, ist dann eine größere Fleißarbeit.
Auf der anderen Seite wurde diese Arbeit schon gemacht und zwar von SpartaDOS X. In SpartaDOS X sind alle Treiber verschiebbar. Der SpartaDOS FS Treiber heißt SPARTA.SYS und der Treiber für Atari DOS/MyDOS heißt ATARI.SYS. Eventuell kann man beim SpartaDOS X Upgrade Project nachfragen, ob hier eine Wiederverwendung möglich wäre. Aber auch hier würde es meiner Meinung nach besser sein, einen verschiebbaren N-Treiber für SpartaDOS X zu Verfügung zu stellen, durch die Verwendung von Extended Memory (wird von SpartaDOS X verwalten und kann einfach alloziert werden) gibt es dann auch keine Probleme mit dem zusätzlichen Verbrauch von Hauptspeicher und dem damit einhergehenden hohen MEMLO.
Ich finde es toll, was ihr mit FujiNet auf die Beine gestellt habt und wünsche euch noch viel Erfolg.
Bis bald
Holger